package com.spm.service;

import com.spm.pojo.Grade;
import com.spm.pojo.StudentGrade;

import java.util.List;

public interface GradeService {

    /**
     * 上传多个学生的成绩
     * @param studentGradeList
     */
    public int uploadGrades(List<StudentGrade> studentGradeList);


    /**
     * 上传/修改单个学生的成绩
     * @param studentGrade
     */
    public int uploadOneGrade(StudentGrade studentGrade);

    /**
     * 学生查询自己所有课程的成绩
     * @param sid
     * @return 课程类
     */
    public List<Grade> queryForStudent(String sid);

    /**
     * 老师查询自己某门课程所有学生的成绩
     * @param tid  学生编号
     * @param cno  课程编号
     */
    public List<StudentGrade> queryByCourse(String tid,String cno);

    /**
     * 老师查询自己某门课程某位学生的成绩
     * @param tid
     * @param cno
     * @param sid
     */
    public StudentGrade queryByCAS(String tid,String cno,String sid);


    /**
     * 计算成绩
     * @param studentGradeList
     */
    public void calculateScore(List<StudentGrade> studentGradeList);

    /**
     * 老师筛选不及格
     * @param tid
     * @param cno
     */
    public List<StudentGrade> failScreen(String tid,String cno);

    /**
     * 老师根据范围筛选所有课程成绩
     * @param tid
     * @param low
     * @param high
     * @return
     */
    public List<StudentGrade> scopeScreen(String tid,int low,int high);
}
